package com.oceansoft.mobile.econsole.modules.weixin.service;

import com.alibaba.fastjson.JSONArray;
import com.oceansoft.mobile.econsole.modules.base.entity.Result;
import com.oceansoft.mobile.econsole.modules.complaint.entity.ComplaintReport;
import com.oceansoft.mobile.econsole.modules.member.entity.WtMemberMange;
import com.oceansoft.mobile.econsole.modules.weixin.entity.*;

import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.util.List;
import java.util.Map;

/**
 * Created by zeng on 2016/8/8.
 */
public interface WeixinQueryService {

    /**
     * 线索举报类型
     */
    List<CluesModel> getXsjblx(String type);
    /**
     * 电子警察分布
     */
    List<Dzjcfb> getDzjcfbList();

    /**
     * 违法代码
     */
    Wfdm getWfdm(String dm);

    /**
     * 处罚机关代码
     */
    Cfjgdm getCfjgdm(String dm);

    /**
     * 保安员考试成绩
     */
    Baykscj getBaykscj(String zkzh);

    /**
     * 户籍分局
     */
    Hjfj getFj(String pcs, String jd, String sq);

    /**
     * 得到受理编号
     */
    String getSlbh(String type);

    /**
     * 保存投诉建议-局长信箱信息
     */
    Result savetsjyjzxx(Tsjy tsjy);

    /**
     * 获得局长信箱
     * @param status
     * @param guid
     * @return
     */
  List<Tsjy> getjzxx(String guid,String status);

    /**
     * 获得局长信箱详情
     * @param guid
     * @return
     */
    Tsjy getjzxxxq(String guid,String xjno);
    /**
     * 保存投诉建议-警风警纪监督员意见建议信息
     */
    String savetsjyjfjj(Tsjy tsjy);

    /**
     * 保存微信举报-线索举报信息
     */
    String savewxjbxsjb(ComplaintReport complaintReport);

    /**
     * 保存微信举报-城区禁放烟花爆竹举报信息
     */
    String savewxjbjfyhbz(ComplaintReport complaintReport);

    /**
     * 保存微信举报-公交车抓小偷举报信息
     */
    String savewxjbjgjczxt(ComplaintReport complaintReport);

    /**
     * 保存快撤理赔
     */
    boolean savekclp(KclpInfo kclpInfo , List<KclpPhoto> kclpPhotoList);

    //智能问答
    List<Map<String,String>> getCaseLibraryList(String keyWord);

    /**
     * 绑定驾驶证
     * @return
     */
    Result bdjsz(HttpServletRequest request) throws Exception;

    /**
     * 绑定车辆
     * @return
     */
    Result bdcl();


    //保存车辆信息
    boolean bcclxx(String guid,String hyzk,String mz,String jg,String xl);

    //得到时间
    String getTime();

    String saveProjectAttchmentsAtt(byte[] bytes) throws IOException;

    ProjectItem doMattersApply(ProjectItem projectItem, JSONArray materials, List<ProjectNetEms> mailList) throws Exception;

    Boolean doWorkFlow(ProjectItem projectItem);

    CaseLibrary loadHZMattersDetail(String caseGuid);

    CaseLibrary loadMattersDetail(String caseGuid);

    SysOrgDept getSysOrgById(String orgid);

    List<ProjectNetEms> getYjxxByPrjId(String projectGuid);

    /**
     * 获取驾驶证绑定信息
     * @param var1 guid
     * @return
     */
    WtMemberMange getWtMemberMange(String guid);

    String getCaceLibraryTemp1(String caseNo,String orgid);

    String getPascMembersMangeTemp3(String userGuid);

    List<Dictionary> selectCrtype(String code)throws IOException;

    Result saveytwxjbxsjb(HttpServletRequest request)throws IOException;

    Result getEntry(HttpServletRequest request);

}
